// 这里会对axios做配置

import axios from "axios"


//使用axios的create方法创建axios实例


let http = axios.create({
    //这里面是axios的配置
    baseURL: "/api",//请求的基础路径
    timeout: 1000 * 2,//请求超时时间,超时之后会进入axios的catch中
    withCredentials: true, //携带凭据,将cookie这样的凭据自动传递给后端
    headers: {//配置公共请求头
        'content-type': 'application/json;charset=utf-8'
    }
})

//请求拦截器,作用是可以拦截到每一个请求,在请求发送之前做一些事情,添加一些配置


http.interceptors.request.use(config => {
    return config
})

//响应拦截器,作用是可以拦截到每一个响应信息,拦截到响应信息之后如果有错误,可以进行统一的错误处理,比如弹框提示用户
// console.log(import.meta.env)
http.interceptors.response.use(response => {
    // console.log(response)
    if (response.data && response.data.state) {
        //判断是不是comments环境
        if (import.meta.env.MODE === 'comments' && response.config.url === '/students/del') {
            return response.data
        }
        return response.data.data;
    } else {
        //请求出错了
        alert('请求出错了,错误信息是:' + response.data?.msg || '未知错误')
        return Promse.reject(response.data.msg)
    }
})


//导出http

export default http